# config.py 定义插值算法相关阈值
class Config:
    
    # 数据预处理阶段
    # 1.降水量阈值
    RAIN_THRESH = 5             # 降水量阈值，单位：mm，低于该值时放宽相对误差标准
    
    # 2.插值阶段
    # 2.1 IWD插值参数
    IWD_MIN_POINTS = 6          # IDW插值时最小参与计算的站点数量
    IDW_SEARCH_RADIUS = 5      # IDW插值时默认搜索半径，单位：km
    IDW_SEARCH_STEP = 2        # IDW插值时搜索半径增量，单位：km
    IDW_POWER_LOW = 1.8        # 降水量小于10mm时的IDW插值幂次p
    IDW_POWER_MED = 2.2        # 降水量在10-30mm时的IDW插值幂次p
    IDW_POWER_HIGH = 3.0       # 降水量大于30mm时的IDW插值幂次p
    
    # 2.2 king插值参数
    MAX_NEIGHBORS = 20         # Kriging插值时最大邻域站点数量


    # 3.评分阶段
    # 3.1 Z分数相关
    Z_STRONG = 3                # Z分数阈值，>=3为“明确异常”
    Z_WEAK = 2                  # Z分数阈值，2<=Z<3为“可疑异常”

    # 3.2 绝对误差阈值
    IDW_RES_THRESH = 5          # IDW插值绝对误差阈值，单位：mm
    KRIG_RES_THRESH = 5         # Kriging插值绝对误差阈值，单位：mm
    # 3.3 相对误差阈值
    RELATIVE_ERROR_THRESH = 0.5  # 相对误差阈值，用于判断异常等级

    # 3.4 定义小雨雨量 及 小雨时的相对误差阈值
    SMALL_RAIN_THRESH = 5       # 小雨的降水量阈值（单位：mm）
    SMALL_RAIN_RELATIVE_ERROR_THRESH = 1  # 小雨时的相对误差阈值，可以根据需要调整


    # 小雨异常加强的插值误差阈值（可以根据实际需要调整）
    # IDW_RES_THRESH_SMALL_RAIN = 5  # 小雨时IDW误差阈值
    # KRIG_RES_THRESH_SMALL_RAIN = 2.5 # 小雨时Kriging误差阈值
